﻿using Nop.Core;
using Nop.Core.Domain.Stores;
using System.Collections.Generic;

namespace Spotshub.Plugin.Payments.GlobalPayments
{
    /// <summary>
    /// Represents a Global Transport boarding profile
    /// </summary>
    public class PaymentProfile : BaseEntity
    {
        public PaymentProfile()
        {
            Type = 0;
        }

        private ICollection<PaymentCreditCard> _creditcards;

        /// <summary>
        /// Gets or sets the store identifier
        /// </summary>
        public virtual int StoreId { get; set; }
        
        /// <summary>
        /// Gets or sets the GT profile ID
        /// </summary>
        public virtual string ProfileId { get; set; }

        /// <summary>
        /// Gets or sets the GT API token
        /// </summary>
        public virtual string ApiToken { get; set; }

        /// <summary>
        /// Gets or sets the profile type
        /// </summary>
        public virtual int Type { get; set; }

        /// <summary>
        /// Gets or sets the transactions
        /// </summary>
        public virtual ICollection<PaymentCreditCard> CreditCards
        {
            get { return _creditcards ?? (_creditcards = new List<PaymentCreditCard>()); }
            set { _creditcards = value; }
        }
    }
}

